package com.pz.art.service;

import com.pz.art.domain.AssoMember;

import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;

public interface MemberService {


    /**
     * 获取单位会员列表
     *
     * @return 所有的单位会员信息
     */
    public List<AssoMember> selectAllMember(AssoMember member);

    /**
     * 通过手机号区查找会员
     *
     * @return 所有的单位会员信息
     */
    public AssoMember selectMemberByPhoneNo(String phone);


    /**
     * 获取普通会员列表
     *
     * @return 所有的普通会员信息
     */
    public List<AssoMember> selectNormalAllMember(AssoMember member);

    /**
     * 查询表ID会员信息
     *
     * @param id 会员ID
     * @return 会员信息
     */
    public AssoMember selectMemberById(Integer id);

    /**
     * 添加会员信息
     *
     * @note 传入会员信息
     * @return 返回成功、失败
     */
    public int insertMember(AssoMember assoMember);

    /**
     * 编辑会员信息
     *
     * @note 传入会员信息
     * @return 返回成功、失败
     */
    public int updateMember(AssoMember assoMember);
    /**
     * 查询会员
     *
     * @param id 会员主键
     * @return 会员
     */
    public AssoMember selectAssoMemberById(Long id);

    /**
     * 查询会员列表
     *
     * @param assoMember 会员
     * @return 会员集合
     */
    public List<AssoMember> selectAssoMemberList(AssoMember assoMember);

    /**
     * 新增会员
     *
     * @param assoMember 会员
     * @return 结果
     */
    public int insertAssoMember(AssoMember assoMember);

    /**
     * 修改会员
     *
     * @param assoMember 会员
     * @return 结果
     */
    public int updateAssoMember(AssoMember assoMember);

    /**
     * 批量删除会员
     *
     * @param ids 需要删除的会员主键集合
     * @return 结果
     */
    public int deleteAssoMemberByIds(Long[] ids);

    /**
     * 删除会员信息
     *
     * @param id 会员主键
     * @return 结果
     */
    public int deleteAssoMemberById(Long id);

    /**
     * 根据绑定的单位unit_id进行查询会员
     *
     * @note
     * @return 结果
     */
    public List<AssoMember> getAssomemberByUnitId(Long unit_id);


    public int updateAssoMemberUnit(Long[] ids, Long unit_id);

    public int insertjoinAssomember(Long[] ids, Long unit_id,Long events_id);

    /**
     * 获取未报名的该活动的人员
     */
    public List<AssoMember> getNotApplyMember(Long events_id,Long unit_id);

    String importNormalMember(List<AssoMember> nromalList, boolean updateSupport, String operName);
}
